A shared file system typically refers to an enterprise storage file system that is concurrently shared (e.g., accessed for reading and writing) by multiple computer systems. One example of such a shared file system is VMware's VMFS (Virtual Machine File System), which enables multiple virtual machines that are instantiated on one or more physical servers to operate under a common file system whose data storage is implemented on a shared data storage system.
An example of such a shared data storage system is a disk array accessible through a storage area network (SAN) which typically uses a storage protocol such as Fibre Channel Protocol (FCP) or Internet Small Computer System Interface (iSCSI). A typical SAN provides access to a number of data storage systems that are physically independent enclosures containing a storage system manager (e.g., a disk array controller), a disk cache, and multiple physical data storage units (e.g., disk drives). The storage system manager manages the physical data storage units and exposes them to the connected computer systems as logical data storage units, each identified by a logical unit number (LUN), enabling storage operations to be carried out on the LUNs. For further details, see U.S. Pat. No. 7,155,558, which is incorporated herein by reference.
The term “concurrency control” refers to the means used to prevent multiple contexts (e.g., the processes running on the multiple connected computer systems) from simultaneously accessing the same file system resources and causing data corruption in a shared file system. Typically, concurrency control in a shared filed system involves a messaging system in which the multiple computer systems communicate with each other before a file is locked for writing by one of the contexts running on said computer systems. VMFS implements this concurrency control without requiring participating computer systems to communicate with each other using a messaging system that is separate from the data storage system. For further details, see U.S. Published Patent Application No. 2009/0106248, which is incorporated herein by reference.